<?php

/**
 * AppParentsModel short summary.
 *
 * AppParentsModel description.
 *
 * @version 1.0
 * @author Administrator
 */
Namespace Api\Model;
use Think\Model;
class AppSmsModel extends Model
{
    private $iSmsResendSeconds = 60;
    function getDb(){
        return  MwithNoPrefix("app_sms");
    }
   
    /**
     * 发送短信(return array("serialNumber"=>$iID,"duration"=>$this->iSmsResendSeconds))
     * @param mixed $strPhone 
     * @param mixed $iType 1：注册使用 2：修改密码使用 3：修改绑定手机使用
     */
    public function sendSms($strPhone,$iType){
        $arrCode=array("phone"=>$strPhone,"type"=>$iType,"code"=>"".rand(10000,60000),"addtime"=>date("Y-m-d",time()));
        $iID = $this->getDb()->add($arrCode);
        /*
         * 		type: 业务类型 1：注册使用 2：修改密码使用 3：修改绑定手机使用
         * SMS_123796794
        模版内容:
        您的验证码是：${code}，十分钟内有效。如非本人操作请忽略本条短信。
        SMS_123666955
        模版内容:
        您正在修改安妮花APP密码，验证码为：${code}，十分钟内有效。
         * */
        switch(intval($arrCode["type"]))
        {
            case 2:
                $strTemplate="SMS_123666955";
            default:
                $strTemplate="SMS_123796794";
            
        }
        sendAliyunSms($arrCode["phone"],$strTemplate,array("code"=>$arrCode["code"]));
        return array("serialNumber"=>$iID,"duration"=>$this->iSmsResendSeconds);
    }
    
    public function IsCodeValid($iID,$strCode)
    {
        $strCode=strtolower(trim($strCode));
        if($strCode==""){
            return "短信验证码不能为空";
        }
        $strTime = date("Y-m-d H:i:s",strtotime("-10 minutes")) ;
        $tbl=$this->getDb();
        $arrCode = $tbl ->field("code")->where("id=%d and addtime<'%s' ",$iID,$strTime)->find();
        
        if($arrCode==null)
        {
            return "超时请重新申请";
        }
        if(strtolower($arrCode["code"])!=$strCode)
        {
            return "验证码错误";
        }
        return "";
    }
    
}
